//
//  RCResultSet.h
//  RCDataBaseProject
//
//  Created by Roiy on 2017/7/31.
//  Copyright © 2017年 Roiy. All rights reserved.
//

#import <Foundation/Foundation.h>

@class RCSQLDataBaseManager;
@class RCStatement;

@interface RCResultSet : NSObject

@property (atomic,retain)NSString *query;

@property (nonatomic,retain)RCSQLDataBaseManager *parentDB;

@property (atomic,retain)RCStatement *statement;

/**
 初始化查询结果集实体

 @param statement 传入RCStatement类型参数 (该参数绑定executeQuery中sqlite3_stmt句柄)
 @param aDB 传入RCSQLDataBaseManager处理类对象
 @return 结果集实体
 */
+(instancetype)resultSetWithStatement:(RCStatement *)statement parentDB:(RCSQLDataBaseManager *)aDB;

/**
 查询text类型数据

 @param columnName 数据表列字段
 @return 查询结果
 */
-(NSString*)stringForColumn:(NSString*)columnName;

/**
 查询NSData类型数据

 @param columnName 数据表列字段
 @return 查询结果
 */
-(NSData *)dataForColumn:(NSString*)columnName;

/**
 查询int类型数据

 @param columnName 数据表列字段
 @return 查询结果
 */
-(int)intForColumn:(NSString*)columnName;

/**
 查询long类型数据

 @param columnName 数据表列字段
 @return 查询结果
 */
-(long)longForColumn:(NSString*)columnName;

/**
 查询bool类型数据

 @param columnName 数据表列字段
 @return 查询结果
 */
-(BOOL)boolForColumn:(NSString*)columnName;

/**
 查询double类型数据

 @param columnName 数据表列字段
 @return 查询结果
 */
-(double)doubleForColumn:(NSString *)columnName;

-(BOOL)nextRefer;

@end
